<?php

namespace app\rest\controller;

use think\Controller;
use think\Db;
use think\Request;

class User extends Controller
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        // return '列表页面';
        // 查询数据
        $list = Db::name('hc_user')->field(['id', 'name'])->order('id', 'aes')->select();
        // var_dump($list);

        // 视图部分
        // $this->assign('list', $list);
        // $this->assign('title', '用户列表');
        // return $this->fetch('index');

        return view('index', [
            'title' => '用户列表',
            'list' => $list
        ]);
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        // return '我是添加页面';

        return view('create',['title'=>'添加用户啦~']);
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        // var_dump($request);
        // $p = Request::instance()->post();

        // 助手函数
        // $p = input('post.');

        $p = $request->post();
        // var_dump($p);

        // 数据处理
        $data = [
            'name'=>$p['name'],
            'pass'=>md5($p['pass']),
            'sex'=>$p['sex'],
            'age'=>$p['age'],
            'province'=>$p['province']
        ];

        //  执行并判断
        $result = Db::name('hc_user')->data($data)->insert();
        
        if ($result) {
            return $this->success('添加成功,o(≧v≦)o~~好棒', url('rest/user/index'));
        } else {
            return $this->error('(ノ°ο°)ノ高能预警 ');
        }
    }

    /**
     * 显示指定的资源(框)
     *
     * @param  int $id
     * @return \think\Response
     */
    public function read($id)
    {
        // return '读取ID为:' . $id . '的用户';
        // 是否为AJAX请求
        if (!Request::instance()->isAjax()) {
            $this->error('你四不四迷路了?', '/');
        }

        // 查看指定用户   true 显式的查询  *
        $row = Db::name('hc_user')->field('pass',true)->find($id);
        // var_dump($row);

        if ($row === null) {
            $info['status'] = false;
            $info['title'] = '查无数据';
            $info['datas'] = '查无数据,请您重试~';
        } else {
            $info['status'] = true;
            $info['title'] = $row['name'];
            $info['datas'] = $row;
        }
        return json($info);
    }


    /**
     * 显示指定的资源(页面)
     *
     * @param  int $id
     * @return \think\Response
     */
    public function readpage($id)
    {
        // 查看指定用户   true 显式的查询  *
        $row = Db::name('hc_user')->field('pass',true)->find($id);
        // var_dump($row);
        return view('show', [
            'title' => $row['name'].'的信息',
            'row' => $row
        ]);
    }


    /**
     * 显示编辑资源表单页.
     *
     * @param  int $id
     * @return \think\Response
     */
    public function edit($id)
    {
        // return '编辑ID为:' . $id . '的表单';
        // 查询指定用户数据
        $row = Db::name('hc_user')->field('pass',true)->find($id);
        return view('edit',[
            'title'=>'编辑用户',
            'data'=>$row
        ]);
    }


    /**
     * 保存更新的资源
     *
     * @param  \think\Request $request
     * @param  int $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        $info = $request->put();
        // var_dump($info);
        $data = [
            'name'=>$info['name'],
            'sex'=>$info['sex'],
            'age'=>$info['age'],
            'province'=>$info['province']
        ];
        $result = Db::name('hc_user')->where('id', $id)->update($data);
        if ($result) {
            return $this->success('编辑成功,o(≧v≦)o~~好棒', url('rest/user/index'));
        } else {
            return $this->error('编辑失败,(ノ°ο°)ノ高能预警 ');
        }
    }

    /**
     * 删除指定资源
     *
     * @param  int $id
     * @return \think\Response
     */
    public function delete($id)
    {
        $result = Db::name('hc_user')->delete($id);
        if ($result) {
            $info['status'] = true;
            $info['id'] = $id;
            $info['info'] = 'ID为:' . $id . '的用户删除成功';
        } else {
            $info['status'] = false;
            $info['id'] = $id;
            $info['info'] = 'ID为:' . $id . '的用户删除失败,请重试!';
        }
        return json($info);
    }
}
